package com.cxso.example.request.wlpt;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;

import javax.validation.constraints.NotBlank;
import java.util.List;

@Schema(description = "申请开票入参")
@Getter
@Setter
public class ApiConsignorInvoiceApplyReq extends ApiBaseReq {

    @Schema(description = "运单ID（运单ID和运单编号二选一必填）")
    private List<String> ids;

    @Schema(description = "运单编号（运单ID和运单编号二选一必填）")
    private List<String> billCodes;

    @Schema(description = "公司名称")
    @NotBlank(message = "公司名称不能为空")
    private String enterpriseName;

    @Schema(description = "纳税人识别号")
    @NotBlank(message = "纳税人识别号不能为空")
    private String businessLicense;

    @Schema(description = "公司地址")
    @NotBlank(message = "公司地址不能为空")
    private String companyAddress;

    @Schema(description = "公司电话")
    @NotBlank(message = "公司电话不能为空")
    private String companyPhone;

    @Schema(description = "开户行")
    @NotBlank(message = "开户行不能为空")
    private String accountBank;

    @Schema(description = "银行卡号")
    @NotBlank(message = "银行卡号不能为空")
    private String bankCardNum;

    @Schema(description = "发票收件人姓名")
    @NotBlank(message = "发票收件人姓名不能为空")
    private String addressee;

    @Schema(description = "收件人电话")
    @NotBlank(message = "收件人电话不能为空")
    private String addresseePhone;

    @Schema(description = "发票收货地址")
    @NotBlank(message = "发票收货地址不能为空")
    private String addresseeAddress;

    @Schema(description = "发票收货省")
    private String addresseeProvince;

    @Schema(description = "发票收货市")
    private String addresseeCity;

    @Schema(description = "发票收货区")
    private String addresseeArea;

    @Schema(description = "发票收货邮箱")
    private String addresseeEmail;

    @Schema(description = "发票备注")
    private List<String> invoiceRemarks;

}
